package com.eshop.modules.system.service;

import java.util.Set;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.eshop.modules.system.service.dto.DeptDto;
import java.util.List;
import java.util.Map;
import org.springframework.data.domain.Pageable;
import com.eshop.modules.system.service.dto.DeptQueryCriteria;
import com.eshop.modules.system.domain.Dept;
import com.eshop.common.service.BaseService;

public interface DeptService extends BaseService<Dept>
{
    Map<String, Object> queryAll(final DeptQueryCriteria criteria, final Pageable pageable);
    
    List<Dept> queryAll(final DeptQueryCriteria criteria);
    
    void download(final List<DeptDto> all, final HttpServletResponse response) throws IOException;
    
    List<Dept> findByPid(final long pid);
    
    Object buildTree(final List<DeptDto> deptDtos);
    
    void delDepts(final List<Long> deptIds);
    
    Set<Dept> findByRoleIds(final Long id);
}
